<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-on的参数问题</title>
</head>

<body>
    <div id="app">
        <!-- 事件调用的方法没有参数 -->
        <button @click="btn1Click">按钮1</button>
        <button @click="btn1Click()">按钮1</button>
        <br><br>
        <!-- 在事件定义时，写函数时，省略了小括号，但是方法本身是需要一个参数, 这个时候
        Vue会默认将浏览器生产的event事件对象作为参数传入到方法-->
        <!-- 如果我们的函数需要传递参数 ，但是没有传入，那么函数的形参为undefined-->
        <!-- 123 -->
        <button @click="btn2Click(123)">按钮2</button>
        <!-- undefined -->
        <button @click="btn2Click()">按钮2</button>
        <!-- event事件对象 -->
        <button @click="btn2Click">按钮2</button>
        <br><br>

        <!-- 方法定义时，我们需要event对象，同又需要其他参数 -->
        <button @click="btn3Click">按钮3</button>
        <!-- 在调用方法时，如何手动获取到浏览器产生的event对象：$event -->
        <button @click="btn3Click(123,event)">按钮3</button>
        <button @click="btn3Click(123,$event)">按钮3</button>
        
        <br><br>
        <button>按钮4</button>
    </div>
            
    <script src="./js/vue.min.js"></script>
    <script>

        const app = new Vue({
            el: '#app',
            data: {
                message: "你好啊"
            },
            methods: {
                btn1Click() {
                    console.log("btn1Click");
                },
                btn2Click(abc) {
                    console.log('------------------',abc);
                },

                btn3Click(abc,event) {
                    console.log('++++++++++++++++++',abc,event);
                },
                btn4Click() {

                }
            }
        })
    </script>
</body>

</html>